import time

from selenium import webdriver

driver = webdriver.Chrome("./chromedriver")

driver.get("https://www.baidu.com/")

# # 在文本框中输入内容  定义到文本框
# driver.find_element_by_id("kw").send_keys("传智播客")
#
# # 获取百度一下的按钮， 点击
# driver.find_element_by_id("su").click()

# 获取标签中的文本  以及  属性值

# 获取当前页面中 所有的 a标签
a_list = driver.find_elements_by_xpath("//a")

print(a_list)

for a in a_list:
    # 获取标签中的文本内容
    print(a.text)
    # 获取标签属性的值
    print(a.get_attribute("href"))

time.sleep(5)

driver.quit()
"""
driver对象的常用属性和方法:
    driver.page_source 当前标签页浏览器渲染之后的网页源代码
    driver.current_url 当前标签页的url
    driver.close() 关闭当前标签页，如果只有一个标签页则关闭整个浏览器
    driver.quit() 关闭浏览器
    driver.forward() 页面前进
    driver.back() 页面后退
    driver.screen_shot(img_name) 页面截图

driver对象定位标签元素获取标签对象的方法:
    find_element_by_id                         (返回一个元素)
    find_element(s)_by_class_name             (根据类名获取元素列表)
    find_element(s)_by_name                 (根据标签的name属性值返回包含标签对象元素的列表)
    find_element(s)_by_xpath                 (返回一个包含元素的列表)
    find_element(s)_by_link_text             (根据连接文本获取元素列表)
    find_element(s)_by_partial_link_text     (根据链接包含的文本获取元素列表)
    find_element(s)_by_tag_name             (根据标签名获取元素列表)
    find_element(s)_by_css_selector         (根据css选择器来获取元素列表)
    
find_element和find_elements的区别:
    多了个s就返回列表，没有s就返回匹配到的第一个标签对象
    ind_element匹配不到就抛出异常，find_elements匹配不到就返回空列表

by_link_text和by_partial_link_tex的区别:
    全部文本和包含某个文本
以上函数的使用方法:
    driver.find_element_by_id('id_str') 
"""
